#pragma once
#include "Defines.h"
#include "SpellStat.h"

#ifndef _CPLAYERGUI_H
	#define _CPLAYERGUI_H
	class CPlayerGUI
	{
		public:
			static long   m_nMaxMana;
			static long   m_nMaxHealth;
			static long   m_nCurrentMana;
			static long   m_nCurrentHealth;
			static eSpell m_eCurrentSpell;
			static long   m_nSpellProgress;
			static long   m_nExperience;
			static long   m_nLevel;
			static long   m_nNeededExpToNextLevel;
			static float  m_dCastingTime;
			static float  m_dTotalCastingTime;
			static float  m_dCooldown[TOTAL_SPELLS];
			static float  m_dSpellManaCost[TOTAL_SPELLS];

		public:
			static sStats getStats                 (void);

			static void   setStats                 
				(long _nMaxMana, long _nMaxHealth, long _nCurrentMana, long _nCurrentHealth, 
				eSpell _eCurrentSpell, long _nSpellProgress, long _nExperience, long _nLevel, 
				long _nNeededExpToNextLevel, float _dCastingTime, float _dTotalCastingTime);

			static void   setMaxMana               (long   nMaxMana);
			static void   setMaxHealth             (long   nMaxHealth);
			static void   isetCurrentMana           (long   nCurrentMana)   {m_nCurrentMana   = nCurrentMana;};
			static void   isetCurrentHealth         (long   nCurrentHealth) {m_nCurrentHealth = nCurrentHealth;};
			static void   isetCurrentSpell          (eSpell nCurrentSpell);
			static void   addMana				   (long   Mana) {m_nCurrentMana+=Mana;}
			static void   addHealth				   (long   Health){m_nCurrentHealth+=Health;}

			static void   setExperience            (long   nExperience);
			static void   addExperience            (long   nDeltaExperience) {m_nExperience += nDeltaExperience; };
			static void   setNeededExpToNextLevel  (long   nNeededExpToNextLevel);
			static void   calcNeededExpToNextLevel (void);
			static void   setStats                 (sStats oStats);

			static void   init                     (void); // Setea los stats a los valores por default


			CPlayerGUI(void);
			~CPlayerGUI(void);
	};
#endif